package com.zrs.gmall.product.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zrs.gmall.product.model.SpuImage;
import com.zrs.gmall.product.model.SpuInfo;
import com.zrs.gmall.product.model.SpuPoster;
import com.zrs.gmall.product.model.SpuSaleAttr;

import java.util.List;

/**
 * @author ZhaoRuiSheng
 * @create 2023/2/22 19:57
 */
public interface SpuManageService {
    /**
     * 分页查询商品SPU列表
     * @param infoPage
     * @param category3Id
     * @return
     */
    IPage<SpuInfo> getSpuByPage(IPage<SpuInfo> infoPage, Long category3Id);

    /**
     * 保存商品SPU信息
     * @param spuInfo
     * @return
     */
    void saveSpuInfo(SpuInfo spuInfo);

    /**
     * 根据SPUID查询商品销售属性列表(包含属性值)
     *
     * @param spuId
     * @return
     */
    List<SpuSaleAttr> getSpuSaleAttrList(Long spuId);

    /**
     * 根据商品SpuID查询当前商品所有图片
     * @param spuId
     * @return
     */
    List<SpuImage> getSpuImageList(Long spuId);

    /**
     * 4、根据SPUID查询详情页海报图片列表
     * @param spuId
     * @return
     */
    List<SpuPoster> getSpuPosterBySpuId(Long spuId);

    /**
     * 6、根据SkuID，SpuID，查询当前商品所有的销售属性,判断为当前SKU拥有销售属性增加选中效果
     * @param skuId
     * @param spuId
     * @return
     */
    List<SpuSaleAttr> getSpuSaleAttrListCheckBySku(Long skuId, Long spuId);
}
